# 作者: 陈其志 
# 2025年02月20日23时11分37秒 
# 2716847110@qq.com

def use_exception():
    """
    练习简单的异常捕获.从异常的位置直接跳到except
    :return:
    """
    try:
        num = int(input('请输入一个数字'))
        print(num)
    except:
        print('请输入数字')


def use_exception1():
    try:
        num = int(input('请输入数字'))
        result = 8 / num
        print(result)
    except ValueError:
        print('请输入数字')
    except ZeroDivisionError:
        print('不可以输入0')
    except Exception as result:  # 无法预知所有错误的时候，用上这个来捕获错误代码
        print(result)


def use_else_finally():
    # else是和try配对
    # finally是额外的
    try:
        num = int(input('请输入数字'))
        result = 8 / num
        print(result)
        return None
    except ValueError:
        print('请输入数字')
    except ZeroDivisionError:
        print('不可以输入0')
    except Exception as result:  # 无法预知所有错误的时候，用上这个来捕获错误代码
        print(result)
    # else:  # else是和try配对，没有异常才会执行的代码
    #     print('正常执行')  # 这里不能执行是因为try中的代码return了None
    finally:  # 无论是否有异常，都会执行的代码
        print('执行完成，但不知道是否正确')


if __name__ == '__main__':
    # use_exception()
    # use_exception1()
    use_else_finally()
